Digitally represented still images are now commonly stored in a computer environment, such as a personal computer. The stored images can then be manipulated, printed, and indexed by the PC user. Software packages are available to aid the PC user in handling these digital images. Such software packages include numerous capabilities, including archiving the images, printing the images in various sizes and formats, and other editing capabilities, such as the ability to rotate an image, crop it, correct its brightness, contrast and tint. In addition, such software packages typically include the ability to cut portions out of one image and incorporate them into other images. These software packages are typically provided to the consumer via a piece of removable, computer-readable media, such as a compact disk or CD.
It has also become desirable to provide to the PC user a number of web-based imaging services. These web-based imaging services generally involve taking an image existing on the user's PC and sending it to a remote location on the World Wide Web, through the Internet. The remote location then provides some type of service related to the image. Examples of web-based imaging services include remote storage, professional printing and photo gift creation. Other web-based services are available and the services change and evolve over time. The imaging software packages provided via CD are typically revised only periodically. For example, the software provider may revise the imaging software packages only once per year. When a revision is made, the software provider updates, tests, and then releases the code to the consumers. In between software revisions, the software provider lacks the ability to add new web-based features to the software packages. In addition, when the software provider adds a web-based feature to the current software package, it must write new code for each feature. In other words, the code is not transferable from feature to feature. As with any software product, code addition is somewhat risky. To alleviate this risk, if new code is added, the software provider must test the code to ensure that the code addition does not cause problems elsewhere within the software.
It can therefore be seen that the current software imaging products and the system for updating this software involve several disadvantages. First, the software packages lack structure that allows updates as new web-based features are available, or as existing web-based features change. Second, the software packages require new code for each web-based feature. Third, code addition involves the risk of introducing error into the existing and already tested software package. A new client-based software imaging application is needed that can incorporate web-based features even after the software application has been released. A software package is needed that has structure allowing addition of features without introducing significant code changes and the resulting risk of error. Finally, the software package needs to allow addition of the web-based features in a way that involves a more uniform protocol from feature to feature.